約 10,303 件
https://w.atwiki.jp/fekai2/pages/40.html
乱数関連 4章9at3siS+氏 乱数とはなんぞやって方はピカルームの乱数解説を読むとよろし。 封印 □命中時の使用乱数 08000E6A-6D 00 00 00 00 08000E70-71 08 1C 08000E7C-7D 08 1C □ファルコン法防止(移動経路に乱数を使用しない) 08000E10-13 00 00 00 00 □最大・最低命中率 最大命中率99% 080249E6 63 080249EA 63 最低命中率1% 080249F2 01 080249F6 01 烈火 □命中時の使用乱数 08000E6A-6D 00 00 00 00 08000E70-71 08 1C 08000E7C-7D 08 1C □ファルコン法防止 08000E10-13 00 00 00 00 □最大・最低命中率 最大命中率99% 0802920E 63 08029212 63 最低命中率1% 0802921A 01 0802921E 01 聖魔 □命中時の使用乱数 08000C9A-9F 00 00 00 00 00 00 08000CA4-A5 00 00 □ファルコン法防止 08000C5C-5F 00 00 00 00 □最大・最低命中率 最大命中率99% 0802ABE8 63 0802ABEC 63 最低命中率1% 0802ABF4 01 0802ABF8 01 名前 コメント
https://w.atwiki.jp/prng/pages/40.html
RSの野生乱数に似ているが、細かいところでいくつか異なる。 通常の草むら、釣り、波乗りの場合以下の通り。 サファリゾーンはポロックの処理が入るため少し異なる。 釣りは釣れるかの判定と独立している。 先頭が通常ポケモンか特性シンクロの場合のみ記述。 が出現スロット決定用 でレベル決定。レベル範囲なければスキップ シンクロが先頭の時、 の最下位bitが0ならシンクロ成功で、性格はそのシンクロの性格で決定 1ならシンクロ失敗で、 で性格決定 先頭が通常ポケモンの場合は で性格決定 シンクロ失敗の場合のみ以下添字の()内の+1を追加 以下k=0からループ をPID下位16bit をPID上位16bitとしてPID仮決定 が先ほど決めた性格と一致すればループ終了、PID決定 はスキップ(メソッド2によるもの) の下位から5bitずつHABの個体値決定 の下位から5bitずつSCDの個体値決定 出現スロットはRSの野生乱数と同じ。
https://w.atwiki.jp/prng/pages/41.html
初期シードが変わる以外RSの孵化乱数と同じかと。
https://w.atwiki.jp/bokuyo/pages/19.html
乱数 乱数といえば、 stdio.h のrand()関数ですが、おすすめはMT法です。 MersenneTwister法。 BSDライセンスに準拠してるらしいので、自由に使えるそうです。感謝です! 使ったあとはReadMeファイルに一言「使いました」と書いておこう。 Mersenne Twister従来の乱数生成より、早い・うまい・おいしい 整数型はlong int、また浮動小数点型の乱数も作れちゃいます。 新しい「SFMT」っていうかっこいいのもあるぜー!!やっほーい。SIMD-oriented Fast Mersenne Twister (SFMT) 2倍速い!そして隙がない…。こいつできる…! 乱数の種(Seed) おなじみの ctime (古くは time.h )内のtime()関数は時間精度が悪いため、60fpsのゲームには不向きです。 time.h の中にある、clock()関数のほうがまだ精度が高いですが、それでも不向きです。 そこで MMSystem.h のtimeGetTime()関数を使いましょう。 .
https://w.atwiki.jp/prng/pages/39.html
初期シードが異なる以外はRSの野生乱数と同じ。 ただしサファリゾーンにポロックがないため通常の草むらと同様になる。
https://w.atwiki.jp/cshacker/pages/41.html
アルゴリズム 一般的な線形合同法であり、Visual C++の実装と同一のものです。 xは乱数生成用の静的変数です。 int rand(){ x = (x * 214013) + 2531011; return (int)(x 16) 32767; } これを値丸め用にラップしたものが乱数に使われています。 int CS_rand(int Min, int Max){ int range = Max - Min + 1; return (rand() % range) + Min; } なお、時間などを用いたシード値設定の処理は存在しないので、 ゲームのスタート時からフレーム単位で同じ動きをした場合全く同じ乱数が出ます。 調整方法 乱数の主な消費場所は以下の通りです。 武器の発射の瞬間 武器弾の移動中 煙の発生 画面揺れ効果 一部のエフェクト 多くのNPC 武器の発射が最も手っ取り早く柔軟に乱数を変動させられると思われます。 ただし発射の瞬間だけでなく武器弾が存在している間も変動の可能性があるので注意が必要です。 また、画面が揺れている最中などは常に乱数が変動しているため、例として聖域などは入るタイミングで調整できると思われます。 通常ゲーム画面以外のタイトル画面/メニュー画面などにおいて乱数が消費される場所は存在しません。 なので、調整は全て通常ゲーム画面内で行う必要があります。 確率データ 敵のドロップするアイテムの種類 ハート1/5 ミサイルを所持している場合 ミサイル1/5 経験値3/5 ミサイル所持していない場合 経験値4/5 その他 改造版製作における簡易的な乱数発生手段として以下のような方法があります。 煙(スプライト番号4番)を発生させ少し待ったあとにそれが存在しているか調べる 8800~8831のフラグを参照する(8800~8831はメモリにおいて0x49E1EC/ゲーム開始後経過フレーム数を指す)※0x49E1ECのタイマーはメニュー画面では停止しているため同じ数しか返さないので注意
https://w.atwiki.jp/prng/pages/33.html
初期シード以外はRSの固定乱数と同じ。
https://w.atwiki.jp/prng/pages/34.html
固定乱数と同様…なのだがHA以外個体値0になる。
https://w.atwiki.jp/prng/pages/36.html
固定乱数と同様。 RSと異なり個体値が強制的に0になることはない。
https://w.atwiki.jp/prng/pages/32.html
初期シードが変わること以外はRSの固定乱数と同じ。